/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.eventos.be;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 *
 * @author lizardo
 */
@Entity
@Table(name = "eca_expectativa_eventos")
@NamedQueries({@NamedQuery(name = "ExpectativaEventos.findAll", query = "SELECT e FROM ExpectativaEventos e"), @NamedQuery(name = "ExpectativaEventos.findByExpCodigo", query = "SELECT e FROM ExpectativaEventos e WHERE e.expCodigo = :expCodigo"), @NamedQuery(name = "ExpectativaEventos.findByExpPregunta1", query = "SELECT e FROM ExpectativaEventos e WHERE e.expPregunta1 = :expPregunta1"), @NamedQuery(name = "ExpectativaEventos.findByExpRespuesta1", query = "SELECT e FROM ExpectativaEventos e WHERE e.expRespuesta1 = :expRespuesta1"), @NamedQuery(name = "ExpectativaEventos.findByExprespCerrada1", query = "SELECT e FROM ExpectativaEventos e WHERE e.exprespCerrada1 = :exprespCerrada1"), @NamedQuery(name = "ExpectativaEventos.findByExpPregunta2", query = "SELECT e FROM ExpectativaEventos e WHERE e.expPregunta2 = :expPregunta2"), @NamedQuery(name = "ExpectativaEventos.findByExpRespuesta2", query = "SELECT e FROM ExpectativaEventos e WHERE e.expRespuesta2 = :expRespuesta2"), @NamedQuery(name = "ExpectativaEventos.findByExprespCerrada2", query = "SELECT e FROM ExpectativaEventos e WHERE e.exprespCerrada2 = :exprespCerrada2"), @NamedQuery(name = "ExpectativaEventos.findByExpPregunta3", query = "SELECT e FROM ExpectativaEventos e WHERE e.expPregunta3 = :expPregunta3"), @NamedQuery(name = "ExpectativaEventos.findByExpRespuesta3", query = "SELECT e FROM ExpectativaEventos e WHERE e.expRespuesta3 = :expRespuesta3"), @NamedQuery(name = "ExpectativaEventos.findByExprespCerrada3", query = "SELECT e FROM ExpectativaEventos e WHERE e.exprespCerrada3 = :exprespCerrada3"), @NamedQuery(name = "ExpectativaEventos.findByExpPregunta4", query = "SELECT e FROM ExpectativaEventos e WHERE e.expPregunta4 = :expPregunta4"), @NamedQuery(name = "ExpectativaEventos.findByExpRespuesta4", query = "SELECT e FROM ExpectativaEventos e WHERE e.expRespuesta4 = :expRespuesta4"), @NamedQuery(name = "ExpectativaEventos.findByExprespCerrada4", query = "SELECT e FROM ExpectativaEventos e WHERE e.exprespCerrada4 = :exprespCerrada4")})
public class ExpectativaEventos implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "exp_codigo")
    private Long expCodigo;
    @Basic(optional = false)
    @Column(name = "exp_pregunta1")
    private String expPregunta1;
    @Column(name = "exp_respuesta1")
    private String expRespuesta1;
    @Column(name = "exp_respCerrada1")
    private Integer exprespCerrada1;
    @Basic(optional = false)
    @Column(name = "exp_pregunta2")
    private String expPregunta2;
    @Column(name = "exp_respuesta2")
    private String expRespuesta2;
    @Column(name = "exp_respCerrada2")
    private Integer exprespCerrada2;
    @Basic(optional = false)
    @Column(name = "exp_pregunta3")
    private String expPregunta3;
    @Column(name = "exp_respuesta3")
    private String expRespuesta3;
    @Column(name = "exp_respCerrada3")
    private Integer exprespCerrada3;
    @Basic(optional = false)
    @Column(name = "exp_pregunta4")
    private String expPregunta4;
    @Column(name = "exp_respuesta4")
    private String expRespuesta4;
    @Column(name = "exp_respCerrada4")
    private Integer exprespCerrada4;
    @JoinColumn(name = "eve_codigo", referencedColumnName = "eve_codigo")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Evento eveCodigo;
    @JoinColumn(name = "exp_codigo", referencedColumnName = "pin_codigo", insertable = false, updatable = false)
    @OneToOne(optional = false, fetch = FetchType.LAZY)
    private PreinscripcionEvento preinscripcionEvento;

    public ExpectativaEventos() {
    }

    public ExpectativaEventos(Long expCodigo) {
        this.expCodigo = expCodigo;
    }

    public ExpectativaEventos(Long expCodigo, String expPregunta1, String expPregunta2, String expPregunta3, String expPregunta4) {
        this.expCodigo = expCodigo;
        this.expPregunta1 = expPregunta1;
        this.expPregunta2 = expPregunta2;
        this.expPregunta3 = expPregunta3;
        this.expPregunta4 = expPregunta4;
    }

    public Long getExpCodigo() {
        return expCodigo;
    }

    public void setExpCodigo(Long expCodigo) {
        this.expCodigo = expCodigo;
    }

    public String getExpPregunta1() {
        return expPregunta1;
    }

    public void setExpPregunta1(String expPregunta1) {
        this.expPregunta1 = expPregunta1;
    }

    public String getExpRespuesta1() {
        return expRespuesta1;
    }

    public void setExpRespuesta1(String expRespuesta1) {
        this.expRespuesta1 = expRespuesta1;
    }

    public Integer getExprespCerrada1() {
        return exprespCerrada1;
    }

    public void setExprespCerrada1(Integer exprespCerrada1) {
        this.exprespCerrada1 = exprespCerrada1;
    }

    public String getExpPregunta2() {
        return expPregunta2;
    }

    public void setExpPregunta2(String expPregunta2) {
        this.expPregunta2 = expPregunta2;
    }

    public String getExpRespuesta2() {
        return expRespuesta2;
    }

    public void setExpRespuesta2(String expRespuesta2) {
        this.expRespuesta2 = expRespuesta2;
    }

    public Integer getExprespCerrada2() {
        return exprespCerrada2;
    }

    public void setExprespCerrada2(Integer exprespCerrada2) {
        this.exprespCerrada2 = exprespCerrada2;
    }

    public String getExpPregunta3() {
        return expPregunta3;
    }

    public void setExpPregunta3(String expPregunta3) {
        this.expPregunta3 = expPregunta3;
    }

    public String getExpRespuesta3() {
        return expRespuesta3;
    }

    public void setExpRespuesta3(String expRespuesta3) {
        this.expRespuesta3 = expRespuesta3;
    }

    public Integer getExprespCerrada3() {
        return exprespCerrada3;
    }

    public void setExprespCerrada3(Integer exprespCerrada3) {
        this.exprespCerrada3 = exprespCerrada3;
    }

    public String getExpPregunta4() {
        return expPregunta4;
    }

    public void setExpPregunta4(String expPregunta4) {
        this.expPregunta4 = expPregunta4;
    }

    public String getExpRespuesta4() {
        return expRespuesta4;
    }

    public void setExpRespuesta4(String expRespuesta4) {
        this.expRespuesta4 = expRespuesta4;
    }

    public Integer getExprespCerrada4() {
        return exprespCerrada4;
    }

    public void setExprespCerrada4(Integer exprespCerrada4) {
        this.exprespCerrada4 = exprespCerrada4;
    }

    public Evento getEveCodigo() {
        return eveCodigo;
    }

    public void setEveCodigo(Evento eveCodigo) {
        this.eveCodigo = eveCodigo;
    }

    public PreinscripcionEvento getPreinscripcionEvento() {
        return preinscripcionEvento;
    }

    public void setPreinscripcionEvento(PreinscripcionEvento preinscripcionEvento) {
        this.preinscripcionEvento = preinscripcionEvento;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (expCodigo != null ? expCodigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ExpectativaEventos)) {
            return false;
        }
        ExpectativaEventos other = (ExpectativaEventos) object;
        if ((this.expCodigo == null && other.expCodigo != null) || (this.expCodigo != null && !this.expCodigo.equals(other.expCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.cip.esymons.eventos.be.ExpectativaEventos[expCodigo=" + expCodigo + "]";
    }

}
